from matplotlib import pyplot as plt
import numpy as np

# 等高线函数
def f(x,y):
    return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)

n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
plt.contourf(X, Y, Z,8,alpha=0.75,cmap=plt.cm.hot)
C = plt.contour(X, Y, Z,8,color='black',linewidth=0.5)
plt.clabel(C, inline=True, fontsize=10)
plt.show()
